import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex)

//响应用户操作
const actions ={
    //将选择的菜单标签加入到vuex状态中
    Add_teb(context,value){
        context.commit("Add_teb",value);
    },
    Delete_teb(context,value){
        context.commit("Delete_teb",value);
    },
    UpdateActive(context,value){
        context.commit("UpdateActive",value);
    },
    Get_dep_options(context){
        console.log("执行一个ajax得到列表");
        var dep_options=[
            {id:"01",dep_name:"信息科"},
            {id:"02",dep_name:"孕产保健科"}
          ];
        context.commit("Get_dep_options",dep_options)
    },
    Get_type_options(context){
        console.log("执行一个ajax得到列表");
        var type_options=[
            {id:"01",type_name:"打印机"},
            {id:"02",type_name:"电脑"}
        ];
        context.commit("Get_type_options",type_options)
    }
};

//修改state
const mutations={
    //将选择的菜单标签加入到vuex状态中
    Add_teb(state,value){        
        state.content_Tab.forEach(item=>item.isactive=false);
        state.content_Tab.push(value);
        state.activeindex=value.id;        
    },
    Delete_teb(state,value){
        let index=state.content_Tab.indexOf(value);//确认其在数组中的位置，方便删除
        state.content_Tab.splice(index,1)
        if(value.id==state.activeindex){
            if(index>0){
                state.activeindex=state.content_Tab[index-1].id;
            }else{
                state.activeindex=state.content_Tab[0].id;
            }//删除指定的数组元素
        }
        //state.activeindex=(state.activeindex<=1?state.content_Tab[0]: state.content_Tab[index-1]).id;
    },
    UpdateActive(state,value){
        state.activeindex=value.id;  
    },
    Get_dep_options(state,value){
        state.dep_options=value;
    },
    Get_type_options(state,value){
        state.type_options=value;
    }
};

//状态保持数据
const state={
    content_Tab:[],//保存选项卡列表
    activeindex:0,//选项卡激活索引
    dep_options:[],//保存科室选项
    type_options:[]//保存资产类型选项
}

export default new Vuex.Store({
    actions,
    mutations,
    state
})